package com.jbh.recordlibrary.i;


import android.graphics.Bitmap;

import java.util.ArrayList;
import java.util.List;

/**
 * 录音 回调
 *
 */
public interface AddAudioRecordListener {


    /**
     * 开始录音
     */
    void start();
    /**
     * 接在暂停基础上继续录音
     */
    void reStart();
    /**
     * 暂停录音
     */
    void pause();
    /**
     * 停止录音
     */
    void stop(String wavFile);
    /**
     * 需要绘制音频图的宽度
     */
    int getDrawWaveWidth();

    /**
     * 录音数据  绘制波型图
     * currentBuf  当前缓冲区数据
     * totalBuf 总缓冲区数据
     */
    void recordBuffer(float divider,ArrayList<Short> currentBuf);

    /**
     * 当前录音的时间
     *
     * @param t
     */
    void recordCurrentTime(long t);
    /**
     * 汇总
     *
     * @param divider
     * @param oneSecondLength 每一面绘制长度
     * @param totalBuf  总绘制声波的数据
     * @param totalTime 录音的总时间
     * @param totalLength 录音绘制声波图的总长度 px
     * @param recordFilePath 录音文件路径
     */
    void totalRecord(float divider,
                     float oneSecondLength,
                     ArrayList<Short> totalBuf,
                     long totalTime,
                     float totalLength,
                     String recordFilePath);


    /**
     * 截图原音频的某一段
     *
     * @param divider
     * @param oneSecondLength
     * @param totalLength
     * @param totalBuf
     * @param totalTime
     */
    void onCutRecord(float divider,
                            float oneSecondLength,
                            float totalLength,
                            List<Short> totalBuf,
                            float totalTime);

    /**
     * 将音频图转换成刻字图片
     *
     * @param b
     */
    void onWaveBitmap(Bitmap b);



}
